From ba36784426ec1a6356e91ded27e45325e25af213 Mon Sep 17 00:00:00 2001 From: Amos Waterland Date: Mon, 7 Aug 2006 17:16:18 -0500 Subject: [PATCH] [POWERPC] add support for builtin command line Support expressing Xen command line arguments at make invocation. Use same section name as Linux's zImage and reserve a certain amount of space so that arguments can be manipulated by external tools. Signed-off-by: Amos Waterland Signed-off-by: Hollis Blanchard --- xen/arch/powerpc/Makefile | 3 +++ xen/arch/powerpc/boot_of.c | 8 ++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/xen/arch/powerpc/Makefile b/xen/arch/powerpc/Makefile index 2634acbdf6..7a44f65c25 100644 --- a/xen/arch/powerpc/Makefile +++ b/xen/arch/powerpc/Makefile @@ -83,6 +83,9 @@ physdev.o: ../x86/physdev.c HDRS += $(wildcard *.h) +CMDLINE = "xen" +boot_of.o: CFLAGS += -DCMDLINE="\"$(CMDLINE)\"" + start.o: boot/start.S $(CC) $(CFLAGS) -D__ASSEMBLY__ -c $< -o $@ diff --git a/xen/arch/powerpc/boot_of.c b/xen/arch/powerpc/boot_of.c index 4fd5b0b571..a450b7de9a 100644 --- a/xen/arch/powerpc/boot_of.c +++ b/xen/arch/powerpc/boot_of.c @@ -37,6 +37,10 @@ static int of_out; static ofdn_t boot_cpu; static char bootargs[256]; +#define COMMAND_LINE_SIZE 512 +static char builtin_cmdline[COMMAND_LINE_SIZE] + __attribute__((section("__builtin_cmdline"))) = CMDLINE; + extern struct ns16550_defaults ns16550; #undef OF_DEBUG @@ -449,8 +453,8 @@ static void boot_of_bootargs(multiboot_info_t *mbi) int rc; rc = of_getprop(bof_chosen, "bootargs", &bootargs, sizeof (bootargs)); - if (rc == OF_FAILURE) { - strcpy(bootargs, "xen"); + if (rc == OF_FAILURE || bootargs[0] == '\0') { + strlcpy(bootargs, builtin_cmdline, sizeof(bootargs)); } mbi->flags |= MBI_CMDLINE; -- 2.30.2